package com.future.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.future.domain.DTO.RoleDTO;
import com.future.domain.Permission;
import com.future.domain.Role;
import com.future.domain.Result;

import java.util.List;

public interface IRoleService extends IService<Role> {
    Result listRoles();
    Result getRoleById(Long id);
    Result saveRole(RoleDTO roleDTO);
    Result updateRole(RoleDTO roleDTO);
    Result deleteRole(Long id);
    /**
     * 根据角色 ID 查询该角色拥有的权限列表
     * @param roleId 角色 ID
     * @return 权限列表
     */
    List<Permission> selectPermissionsByRoleId(Long roleId);
    /**
     * 根据用户 ID 查询该用户的角色列表
     * @param userId 用户 ID
     * @return 角色列表
     */
    List<Role> selectUserRolesByUserId(Long userId);


}
